Information processing apparatus and method and program of controlling the same

ABSTRACT

An information processing apparatus capable of communicating with a printing device includes an input unit for inputting a search condition for searching for a desired printing device, a display unit for displaying at least one printing device that satisfies the search condition, a selection unit for selecting a printing device from the at least one printing device displayed by the display unit, and a setting unit for setting the search condition input by the input unit as a printing setting for the printing device selected by the selection unit in accordance with selection of the printing device by the selection unit.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/050,334, filed Feb. 3, 2005, which claims the benefit of and priorityto Japanese Patent Application No. 2004-038435, filed Feb. 16, 2004, theentire contents of each of which are hereby incorporated by referenceherein in their entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to information processing apparatusescapable of communicating with printing devices and to methods andprograms of controlling the information processing apparatuses.

2. Description of the Related Art

Network systems in which a plurality of printing devices are connectedto a plurality of host computers via a network and in which each of theplurality of printing devices can perform printing in accordance withprinting instructions from the plurality of host computers have beenavailable.

In such systems, when a user sends a printing instruction from a hostcomputer so that printing processing is performed, the user first needsto choose a desired printing device from among a plurality of printingdevices. Here, various selection criteria are possible. For example, aprinting device having desired functions, such as a color printingfunction and a two-sided printing function, may be selected.Alternatively, a printing device located in a place nearest to the usermay be selected. Technologies for searching for a printing device thatsatisfies various conditions desired by a user from among a plurality ofprinting devices on a network and for providing the found printingdevice to the user are known.

In many cases, printers that have been selected by a user are registeredas so-called “favorites” and are used repeatedly. Also, printingsettings for actual printing, such as the paper size, the resolution,color printing, and two-sided printing, are often set in the same wayevery time printing is performed. Japanese Patent Laid-Open No. 9-188007describes a technology in which printing settings are registered foreach of a plurality of printing devices registered in a host computer. Auser definition name corresponding to a printing device is selected suchthat the printing device used as an output destination and printingsettings for the selected printing device can be set at the same time.Accordingly, the user does not need to set printing settings every timea printing device used as an output destination is selected.

For the known technologies, printing settings and an output destinationcan be stored in association with each other. However, when a userinputs desired search conditions, a printing device that satisfies theconditions are searched for, and printing processing is performed usingthe found printing device, printing settings must be set before theprinting processing is performed.

In other words, in order to search for a desired printing device, theuser needs to input functions of the printing device as searchconditions. Also, the user needs to set the desired functions again asprinting settings for the found printing device. Thus, the number ofoperations required for the user increases.

SUMMARY OF THE INVENTION

The present invention can set a function of a printing device as asearch condition and as a printing setting at the same time.Accordingly, a printing processing environment convenient for a user isprovided.

According to a first aspect of the present invention, an informationprocessing apparatus capable of communicating with a printing deviceincludes an input unit for inputting a search condition for searchingfor a desired printing device, a display unit for displaying at leastone printing device that satisfies the search condition, a selectionunit for selecting a printing device from the at least one printingdevice displayed by the display unit, and a setting unit for setting thesearch condition input by the input unit as a printing setting for theprinting device selected by the selection unit in accordance withselection of the printing device by the selection unit.

The information processing apparatus may further include a changing unitfor changing the printing setting set by the setting unit in accordancewith a user instruction.

Other features, objects and advantage of the present invention will beapparent from the following description when taken in conjunction withthe accompanying drawings, in which like reference characters designatethe same or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention.

FIG. 1 shows an example of the structure of a printing processing systemaccording to an embodiment of the present invention.

FIG. 2 is a block diagram showing the internal structure of the printingprocessing system according to the embodiment of the present invention.

FIG. 3 is a block diagram showing the software structure of a hostcomputer.

FIG. 4 is a block diagram showing the internal structure of a printerdriver.

FIG. 5 is a flowchart showing a printing process according to theembodiment of the present invention.

FIG. 6 shows an example of a printing setting screen displayed on thehost computer according to the embodiment of the present invention.

FIG. 7 shows an example of an output destination information screendisplayed on the host computer according to the embodiment of thepresent invention.

FIG. 8 shows an example of an output destination information screendisplayed on the host computer according to the embodiment of thepresent invention.

FIG. 9 shows an example of a device search screen displayed on the hostcomputer according to the embodiment of the present invention.

FIG. 10 shows an example of a device search result screen displayed onthe host computer according to the embodiment of the present invention.

FIG. 11 shows an example of a printing setting screen displayed on thehost computer according to the embodiment of the present invention.

DESCRIPTION OF THE EMBODIMENTS

Embodiments of the present invention will now be described.

FIG. 1 is a schematic diagram showing the structure of a systemaccording to an embodiment of the present invention. A host computer3000 is connected to a plurality of printers 500 (printers A, B, and C)on a network 101. The host computer 3000 and each of the printers 500can communicate with each other via the network 101.

FIG. 2 is an example of a block diagram showing the structure of aprinting processing system according to an embodiment of the presentinvention. Unless otherwise specified, the host computer 3000 may beconnected to each of the printers 500 via a local-area network (LAN), awide-area network (WAN), a public circuit, or the Internet.

Referring to FIG. 2, the host computer 3000 includes a centralprocessing unit (CPU) 1. The CPU 1 performs document processing in whichdrawings, images, characters, tables (including spreadsheets), and thelike are mixed together, in accordance with a document processingprogram and the like stored in a program read-only memory (program ROM)of a ROM 3 or in an external memory 11. The CPU 1 generally controlseach unit connected to a system bus 4.

In addition, the program ROM of the ROM 3 or the external memory 11stores an operating system program, hereinafter, referred to as an OS,and the like for controlling the CPU 1. A font ROM of the ROM 3 or theexternal memory 11 stores font data used for the document processing. Adata ROM of the ROM 3 or the external memory 11 stores various types ofdata used for the document processing and the like.

A random-access memory (RAM) 2 functions as a main memory, a work area,and the like of the CPU 1.

A keyboard controller (KBC) 5 controls key input from a keyboard (KB) 9and a pointing device (not shown). A cathode-ray tube (CRT) controller(CRTC) 6 controls display of a CRT display (CRT) 10.

A disk controller (DKC) 7 controls access to the external memory 11,such as a hard disk (HD) and a floppy disk (FD), that stores a bootprogram, various applications, font data, user files, files beingedited, a printer control command generation program, hereinafter,referred to as a printer driver, and the like.

A printer controller (PRTC) 8 is connected to the printer 500 via anetwork 100, and performs bidirectional communication control processingwith the printer 500. A command corresponding to a connection protocolmay be added to a print job in the process of transmission. The OS mayalso automatically add the command.

The CPU 1, for example, performs rasterization of outline fonts in adisplay information RAM that is set on the RAM 2, so that “What You SeeIs What You Get (WYSIWG)” can be achieved on the CRT 10.

The CPU 1 also opens registered various windows on the CRT 10 inaccordance with commands instructed via a pointing device (i.e., mouse)or the like (not shown), and performs various types of data processing.For printing processing, a user opens a window for printing settings andsets a printing processing procedure for the printer driver. Forexample, setting of a printer and selection of a printing mode can beperformed.

In the printer 500, a CPU 12 outputs an image signal as outputinformation to a printing unit (printer engine) 17 via a printing unitinterface (I/F) 16 connected to a system bus 15 in accordance with acontrol program and the like stored in a program ROM of a ROM 14 orstored in an external memory 21.

The program ROM of the ROM 14 also stores a control program and the likefor controlling the CPU 12. A font ROM of the ROM 14 stores font dataused for generating the output information. If a printer, not includingthe external memory 21, such as a hard disk, is used, a data ROM of theROM 14 stores information used in the host computer.

The CPU 12 is capable of communicating with the host computer 3000 viaan input unit 18 and a network 102. Information and the like within theprinter 500 can be reported to the host computer 3000 via thisinterface. Data received from the printer driver is stored in a RAM 13,and converted into an image signal in accordance with the controlprogram. Interpretation of a command added in accordance with acommunication protocol is also performed based on the control program.

The RAM 13 functions as a main memory, a work area, and the like of theCPU 12, and is capable of expanding the size of the memory by an optionRAM connected to an expanded port (not shown). The RAM 13 is used for anoutput information development region, an environmental data storageregion, a nonvolatile RAM (NVRAM), and the like.

Access of the external memory 21, such as a hard disk (HD) or an ICcard, is controlled by a memory controller MC 20. The external memory 21is connected as an option, and stores font data, emulation programs,form data, and the like. At least one external memory is provided, butthe number of external memories is not limited to one. A plurality ofexternal memories storing an option font card and a program forinterpreting printer control languages of different language systems, inaddition to stored fonts, may be connected.

An operation unit 22, which is an operation panel, includes operationswitches, a light-emitting diode (LED) display, a liquid crystal panel,and the like. Furthermore, an NVRAM (not shown) may be provided to storeprinter mode setting information from the operation unit 22.

FIG. 3 shows the structure of typical printing processing performed on ahost computer 3000 to which a printing device, such as a printer 500, isdirectly connected or connected via a network. An application 201, agraphic engine 202, a printer driver 203, and a system spooler 204 existas files stored in the external memory 11, and are program modules thatare loaded into the RAM 2 to be executed by an OS or by a module usingthe corresponding module. The application 201 and the printer driver 203can be added to the HD of the external memory 11 via the FD of theexternal memory 11, a CD-ROM (not shown), or a network (not shown).Although the application 201 stored in the external memory 11 is loadedinto the RAM 2 to be executed, when the application 201 performsprinting for the printer 500, the graphic engine 202 that is loaded intothe RAM 2 to be executable is used for rendering.

Similarly, the graphic engine 202 loads the printer driver 203, which isprepared for each printing device, from the external memory 11 into theRAM 2, and sets an output of the application 201 to the printer driver203. The graphic engine 202 converts a graphic device interface (GDI)function received from the application 201 into a device driverinterface (DDI) function, and outputs the DDI function to the printerdriver 203. The printer driver 203 converts the DDI function receivedfrom the graphic engine 202 into a control command that can berecognized by the printer, such as a page description language (PDL).The converted printer control command is output as printing data to theprinter 500 via the system spooler 204, which is loaded into the RAM 2via the OS, and an interface.

FIG. 4 is a schematic diagram showing the internal structure of theprinter driver 203 according to this embodiment. The printer driver 203includes a designation input unit 401 for receiving user designationsfor printing settings, search conditions, and the like. When adesignation is given by the designation input unit 401, a user interface(UI) control unit 402 controls a UI to display the designation in a wayeasily understood by the user. For example, if two-sided printing is setas one of the search conditions, then for a printing setting screen fora printer that can perform two-sided printing, the UI is controlled todisplay the screen so as to be able to set “two-sided printing”. Incontrast, if two sided printing is not set as one of the searchconditions, then for a printing setting screen for a printer that cannotperform two-sided printing, the UI is controlled to display the screenso as not to be able to set “two-sided printing”. Accordingly, the usercan know the functions provided in the printer found by search from theUI. When the designation input unit 401 receives a user instruction forexecuting search, a search unit 403 searches for a printer having afunction desired by the user. More specifically, when the user gives asearch instruction, a printer information acquisition unit 404 refers toprinters on the network for functional information and acquires thefunctional information of each of the printers. The printer informationacquisition unit 404 compares the acquired functional information ofeach of the printers with the search conditions input by the designationinput unit 401, and the UI control unit 402 causes the UI to display aprinter that satisfies the conditions. However, a procedure forsearching for a printer is not limited to this, and other procedures maybe used. A printing data generation unit 405 generates printing databased on the printing settings input by the designation input unit 401,and a printing data output unit 406 outputs the generated printing datato the system spooler 204.

FIG. 5 is a flowchart showing a printing process according to thepresent invention from printer search to printing processing. FIGS. 6 to10 are display examples in corresponding steps shown in FIG. 5 performedby the UI of the host computer 3000.

The printing process according to the present invention will bedescribed with reference to FIG. 5 and FIGS. 6 to 11.

In step S501, a printing setting screen is opened. The printing settingscreen can be opened at the time of a printing request from theapplication 201. FIG. 6 shows a display example of the printing settingscreen when printing settings are designated. As shown in FIG. 6, thetype of printer, the resolution, the paper size, and the like aredisplayed as printing setting items that can be set by the user. In theexample shown in FIG. 6, the details that can be set in each item aredisplayed by user's selection of a pull-down menu bar using an inputdevice, such as a mouse (for example, a pull-down menu field 601 in FIG.6). Printing setting items are not limited to the items shown in FIG. 6.Printing setting items other than the items displayed in FIG. 6 may beset. When an “OK” button 602 is selected, printing processing based onthe set printing settings is performed.

When an “information of output destination” button 603 is selected instep S502, an output destination information screen shown in FIG. 7 isdisplayed. In the example shown in FIG. 7, the name and address of aprinter currently registered as an output destination is displayed in anoutput destination column 701, so that the user can confirm the printerto which data is output. The user can also see a list of printers, via apull-down menu, that can currently be used in an output destinationpreset column 702 as presets for output destinations. When the pull-downmenu bar is selected, a pull-down menu field 801 is displayed, as shownin FIG. 8. In the example shown in FIG. 8, the pull-down menu field 801indicates that printers A, B, and C can currently be used. Accordingly,a printer selected from the printer list can be registered as an outputdestination.

When an “add” button 802 shown in FIG. 8 is selected, a device searchscreen shown in FIG. 9 is displayed (step S503). The user selectsdesired printing settings on the screen shown in FIG. 9. In the exampleshown in FIG. 9, a case where the user selects “monochrome”, “two-sidedprinting”, and “staple” is displayed (step S504). Also, in the exampleshown in FIG. 9, items such as the paper size, the resolution, and thelike, for which printing settings are not selected, are excluded fromsearch conditions. When the user inputs desired search conditions andselects a “search” button 901, a printer on the network that satisfiesthe input printing settings is searched for (step S505).

If a printer that satisfies the input printing settings is found inaccordance with the search result in step S506, a search result displayscreen in which a search result list is displayed, as shown in FIG. 10,is displayed (step S507). In the example shown in FIG. 10, a case whereprinters D and E satisfy the search conditions, such as “monochrome”,“two-sided printing”, and “staple”, input by the user via the display ofFIG. 9, is shown. A search result list column 1001 displays the searchconditions input by the user as setting information, as well as thenames and addresses of printers. Thus, the user can know functionsprovided in each printer.

Then, in step S508, the user selects a printer indicated on the searchresult screen. The process then determines whether a “print” button 1002is selected (step S509). If the “print” button 1002 is selected, ascreen shown in FIG. 11 is displayed (step S510). The screen shown inFIG. 11 is the same as the printing setting screen shown in FIG. 6, withthe exception that some printing settings have already been registered.The registered printing settings shown in FIG. 11 are equal to thesearch conditions input by the user in step S504. In other words, when aprinter that satisfies the search conditions input in step S504 performsprinting, the user does not need to input the printing settings again.Since the printing settings input as the search conditions are alreadyregistered, printing can be performed with the desired printingsettings.

Next, it is determined whether or not an “OK” button 1101 shown in FIG.11 is selected (step S511). If the “OK” button 1101 is selected,printing processing based on the set printing settings is performed(step S513), and the process ends. If the “OK” button 1101 is notselected in step S511, printing settings can be changed (step S512).Printing is not necessarily performed using printing settings used forsearch conditions.

When printing settings are input in step S512, printing processing basedon the input printing settings is performed. Also, since the selecteddevice is registered to the presets for output destinations when theprinting processing is performed, the printer can be readily used thenext time without performing search processing.

If the “print” button 1002 is not pressed in step S509, the processdetermines whether a “register” button 1003 is pressed in step S514. Ifthe “register” button 1003 is pressed, the device selected in step S508is registered to the presets for output destinations shown in thepull-down menu field 801 in FIG. 8 in step S515, and the process ends.

Although this embodiment has been described by way of example of aprinter, the present invention is also applicable to other devices, suchas a copying machine, a compound machine, a scanner, and a facsimilemachine.

An aspect of the present invention is achieved by supplying a storagemedium on which program code for realizing the functions of theforegoing embodiments is stored to a system or an apparatus and byreading and executing the program code stored in the storage medium by acomputer (or a CPU or a micro-processing unit (MPU)) of the system orthe apparatus.

In this case, the program code itself read from the storage mediumattains functions of the foregoing embodiments. The storage mediumstoring the program code constitutes the present invention.

Also, the storage medium for supplying the program code may be, anyrecording medium, such as a floppy disk, a hard disk, an optical disk, amagneto-optical disk, a compact disk (CD)-ROM, a CD-recordable (CD-R), adigital versatile disk (DVD)-ROM, a DVD-R, a magnetic tape, anonvolatile memory card, a ROM, a storage device contained in a fileserver on a network, or a storage device contained in a file transferprotocol (FTP) server on the Internet.

Also, the functions of the foregoing embodiments can be attained notonly by performing the read program code by the computer but also byperforming part or all of the actual processing by an OS or the likerunning on the computer on the basis of instructions of the programcode.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed embodiments. On the contrary, the invention isintended to cover various modifications and equivalent arrangementsincluded within the spirit and scope of the appended claims. The scopeof the following claims is to be accorded the broadest interpretation soas to encompass all such modifications and equivalent structures andfunctions.

What is claimed is:
 1. An information processing apparatus forcommunicating with a printing device, comprising: a device searchdisplay unit adapted to display a search condition inputting screen forinputting by a user a search condition for searching for a desiredprinting device; a search result display unit adapted to display asearch result screen for selectably displaying at least one printingdevice satisfying the search condition inputted through the searchcondition inputting screen and for receiving a user's instruction forprinting by a selected printing device; a printing setting display unitadapted to display, in a case that the user's instruction for printingby the selected printing device is received at the search result screen,a printing setting screen which is in a state that, as a printingsetting item used for printing by the selected printing device, an itemused as the search condition has been selected on a pull-down menu; anda printing processing unit adapted to perform a printing process usingthe printing setting item set through the printing setting screendisplayed by the printing setting display unit.
 2. The informationprocessing apparatus according to claim 1, wherein the printing settingdisplay unit displays a function that is not provided in the printingdevice so as not to be settable as the printing setting item.
 3. Theinformation processing apparatus according to claim 1, furthercomprising a search unit adapted to search for at least the one printingdevice that satisfies the search condition.
 4. The informationprocessing apparatus according to claim 1, wherein the printing settingdisplay unit displays the printing setting screen which is in a statethat an item not used as the search condition is not selected on thepull-down menu.
 5. The information processing apparatus according toclaim 1, wherein the plurality of the printing setting items include atleast two of “type of printer”, “paper size”, “two-sided printing”,“resolution”, “finishing”, and “printing speed”.
 6. An informationprocessing method capable of communicating with a printing device,comprising: displaying a search condition inputting screen for inputtingby a user a search condition for searching for a desired printingdevice; displaying a search result screen for selectably displaying atleast one printing device satisfying the search condition inputtedthrough the search condition inputting screen and for receiving a user'sinstruction for printing by a selected printing device; displaying, in acase that the user's instruction for printing by the selected printingdevice is received at the search result screen, a printing settingscreen which is in a state that, as a printing setting item used forprinting by the selected printing device, an item used as the searchcondition has been selected on a pull-down menu; and performing aprinting process using the printing setting item set through thedisplayed printing setting screen.
 7. A non-transitory computer-readablestorage medium encoded with a computer-executable program for causing amethod for an information processing apparatus to communicate with aprinting device, the method comprising: displaying a search conditioninputting screen for inputting by a user a search condition forsearching for a desired printing device; displaying a search resultscreen for selectably displaying at least one printing device satisfyingthe search condition inputted through the search condition inputtingscreen and for receiving a user's instruction for printing by a selectedprinting device; displaying, in a case that the user's instruction forprinting by the selected printing device is received at the searchresult screen, a printing setting screen which is in a state that, as aprinting setting item used for printing by the selected printing device,an item used as the search condition has been selected on a pull-downmenu; and performing a printing process using the printing setting itemset through the displayed printing setting screen.